// TODO: 使用#ifndef...
// TODO：使用namespace Tcp{}
#pragma once

// 类默认私有继承，结构体默认公有继承
// 继承Noncopyable，派生类可以构造析构，无法拷贝构造和拷贝赋值
class Noncopyable
{
public:
    Noncopyable(const Noncopyable &) = delete;
    Noncopyable &operator=(const Noncopyable &) = delete;
    // void operator=(const noncopyable &) = delete;
    // muduo的返回值是void，语义是不支持链式赋值，应该是失误

protected:
    Noncopyable() = default;
    ~Noncopyable() = default;
};